

#ifndef IMU_LIDAR_CALI_H
#define IMU_LIDAR_CALI_H

#include"def.h"

#include<string>

using namespace std;

class CImuLidarCali
{

public:
    CImuLidarCali();
    ~CImuLidarCali();

    //一开始标定矩阵未知，只能根据原始的数据来进行匹配，匹配方式可以scan to scan， 也可以scan to map
    int InitCali(string bagfile, string lidarTopic, string imuTopic);

    //当标定矩阵已知后，可以利用imu数据来进行预测和运动畸变的校正
    int RefineCali(string bagfile, string lidarTopic, string imuTopic);
    
    //利用scan to map的方式来进行匹配
    int RefineCaliUsingScan2Map(string bagfile, string lidarTopic, string imuTopic);

    

private:
    Eigen::Matrix3d mRotFromImu2Lidar; //

};




#endif 